package com.example.icongyou.api;

import com.example.icongyou.bean.Chapter;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.DELETE;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.PUT;
import retrofit2.http.Path;

/**
 * 对应后端 ChapterController 的 RESTful API 接口定义
 * 基础路径: /api/chapters
 */
public interface ChapterApi {

    // POST /api/chapters - 创建新章节
    // 后端返回创建成功的 Chapter 对象 (包含生成的 chapterId)
    @POST("api/chapters")
    Call<Chapter> createChapter(@Body Chapter chapter);

    // GET /api/chapters/{id} - 根据章节 ID 获取单个章节
    @GET("api/chapters/{id}")
    Call<Chapter> getChapterById(@Path("id") Integer chapterId);

    // GET /api/chapters/course/{courseId} - 获取某一课程下的所有章节
    @GET("api/chapters/course/{courseId}")
    Call<List<Chapter>> getChaptersByCourseId(@Path("courseId") String courseId);

    // PUT /api/chapters/{id} - 更新章节信息
    @PUT("api/chapters/{id}")
    Call<String> updateChapter(
            @Path("id") Integer chapterId,
            @Body Chapter chapterDetails
    );
    // 后端返回 String 消息

    // DELETE /api/chapters/{id} - 删除章节
    @DELETE("api/chapters/{id}")
    Call<Void> deleteChapter(@Path("id") Integer chapterId);
    // 后端返回 204 No Content，使用 Call<Void>
}